专利摘要:
本開示は、コンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化する技術について説明する。方法は、ビデオブロックの最後の非ゼロ係数を推定することと、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいてビデオブロックの量子化係数のセットを生成することとを具備することができる。
公开号:JP2011514055A
申请号:JP2010547826
申请日:2009-02-20
公开日:2011-04-28
发明作者:イエ、ヤン;カークゼウィックズ、マルタ;チェン、ペイソン
申请人:クゥアルコム・インコーポレイテッドQualcomm Incorporated;
IPC主号:H04N7-26
专利说明:

[0001] 本出願は、その両方の内容全体が参照により本明細書に組み込まれる、2008年1月8日に出願された米国特許仮出願第61/019,830号、および2008年2月21日に出願された米国特許仮出願第61/030,454号の優先権を主張する。]
[0002] 本開示は、デジタルビデオ符号化に関し、より詳しくはコンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのための量子化技術に関する。]
背景技術

[0003] デジタルビデオ機能は、デジタルテレビ、デジタル直接ブロードキャストシステム、無線ブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル録音デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話などを含む、広範囲にわたるデバイスに組み込むことができる。デジタルビデオデバイスは、MPEG−2,MPEG−4,またはITU−T H.264/MPEG−4,Part10,Advanced Video Coding(AVC)などのビデオ圧縮技術を実装して、デジタルビデオをより効率的に送信および受信する。ビデオ圧縮技術では、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的予測および時間的予測を行う。]
[0004] イントラ符号化は、空間的予測を利用して所定の符号化単位(coded unit)内のビデオブロック間の空間的冗長性を低減または除去し、当該符号化単位はビデオフレーム、ビデオフレームのスライス、画像のグループ、またはビデオブロックの別の定義された単位を含み得る。これに対し、インター符号化は、時間的予測を利用してビデオシーケンスの連続した符号化単位のビデオブロック間の時間的冗長性を低減または除去する。イントラ符号化の場合、ビデオエンコーダは空間的予測を行い、同じ符号化単位内の他のデータに基づいてデータを圧縮する。インター符号化の場合、ビデオエンコーダは動き推定および動き補償を行い、2つ以上の隣接する符号化単位の対応するビデオブロックの移動を追跡する。]
[0005] 符号化ビデオブロックは、予測ブロックを生成または識別するために使用できる予測情報と、符号化されているブロックと予測ブロックとの間の差を示すデータの残差ブロックとによって表される。インター符号化の場合は、1つまたは複数の動きベクトルを使用してデータの予測ブロックを識別するが、イントラ符号化の場合は、予測モードを使用して予測ブロックを生成することができる。イントラ符号化とインター符号化の両方は、符号化における異なるブロックサイズおよび/または使用される予測技術を定義するいくつかの異なる予測モードを定義することができる。また、符号化プロセスにおいて使用される符号化技術またはパラメータを制御または定義するために、追加のタイプのシンタクス要素を符号化ビデオデータの一部として含めることができる。]
[0006] ブロックベースの予測符号化の後、ビデオエンコーダは変換、量子化およびエントロピー符号化プロセスを適用して、残差ブロックの通信に関連するビットレートをさらに低減することができる。変換技術は、離散コサイン変換または概念的に同様のプロセスを備えることができる。代替的に、ウェーブレット変換、整数変換または他のタイプの変換を使用することができる。離散コサイン変換(DCT)プロセスでは、一例として変換プロセスは画素値のセットを周波数領域における画素値のエネルギーを表すことができる変換係数に変換する。量子化は変換係数に適用され、一般に任意の所定の変換係数に関連するビット数を制限するプロセスを必要とする。エントロピー符号化は、一連の量子化された変換係数を一括して圧縮する1つまたは複数のプロセスを備える。]
[0007] コンテキストベース適応2進算術符号化(CABAC)は、ITU−T H.264/MPEG4、AVC規格などのいくつかの符号化規格において現在サポートされているエントロピー符号化技術の1つのタイプである。CABACは2値化、コンテキストモデル選択および2進算術符号化を含むいくつかのステージを含み得る。2値化では、任意の非2値シンボルを2値シーケンス(しばしばビン・ストリング(bin string)と呼ばれる)にマッピングする。コンテキストモデル化では、モデル確率分布を符号化されている要素(例えば、シンボル)に割り当てる。次いで、後続の2進算術符号化ステージにおいて、割り当てられたモデル確率分布に従って符号化される要素の符号化表現(coded representation)を形成する一連のビットを生成するために、割り当てられた確率分布を使用して符号化を行う。]
[0008] CABACプロセスは、所定のコンテキスト中の要素の確率を知ることによってビデオストリームを定義する要素をロスレス圧縮することができる。CABACは、一般にコンテンツ適応型可変長符号化(CAVLC)技術などの他のエントロピー符号化技術よりも効率的にデータを圧縮するが、デコーダ側で相当により複雑な処理を必要とすることがある。ITUH.264/AVC設定におけるCABACは、IEEE Translations onCircuits and Systems for Video Technology、第13巻、第7号、2003年7月に発行されたDetlev Marpe,Heiko SchwarzおよびThomas Wiegand著“Context-based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard”という刊行物に、より詳しく記載されている。]
[0009] 一般に、本開示ではコンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのための、ビデオブロックの係数を量子化するために使用される量子化技術について説明する。ここで説明する技術は、量子化プロセス中のCABACステップのいくつかを実行および/または推定することによって、量子化プロセス中のCABACを省くことができる。本技術を使用して、ビデオ符号化の量子化ステップにおける符号化レートと歪みとの間の望ましいバランスを達成することができる。本技術によれば、2パスプロセスを行うことができる。第1のパスにおいて、例えばビデオブロックの異なる係数を最後の非ゼロ係数であると見なす連続パスにおいて、ビデオブロックの最後の非ゼロ係数を推定する。次いで、第2のパスにおいて推定された最後の非ゼロ係数が実際は最後の非ゼロ係数であるという仮定に基づいて係数の全てを生成する。]
[0010] 一例では、本開示はCABACをサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化する方法を提供する。本方法は、ビデオブロックの最後の非ゼロ係数を推定することと、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいてビデオブロックの量子化係数のセットを生成することと、を備える。]
[0011] 別の例では、本開示はCABACをサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化するように構成された装置を提供する。本装置は、ビデオブロックの最後の非ゼロ係数を推定し、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいてビデオブロックの量子化係数のセットを生成する量子化ユニットを備える。]
[0012] 別の例では、本開示はCABACをサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化するデバイスを提供する。本デバイスは、ビデオブロックの最後の非ゼロ係数を推定する手段と、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいてビデオブロックの量子化係数のセットを生成する手段とを備える。]
[0013] 別の例では、本開示はCABACをサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化するように構成されたデバイスを提供する。デバイスは、量子化ユニットとCABACユニットとを含む符号化ユニットと、送信機とを備える。量子化ユニットは、ビデオブロックの最後の非ゼロ係数を推定し、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいてビデオブロックの量子化係数のセットを生成し、生成された量子化係数のセットを出力する。CABACユニットは生成された量子化係数のセットを受信し、生成された量子化係数のセットに対してCABACを行って、生成された量子化係数のセットをビットストリームにエントロピー符号化し、ビットストリームを出力する。送信機は、ビットストリームを送信する。]
[0014] 本開示で説明する技術は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組合せで実装できる。ソフトウェアで実装される場合、ソフトウェアはマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)またはデジタル信号プロセッサ(DSP)などの、1つまたは複数のプロセッサで実行され得る。本技術を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサにロードされて実行され得る。]
[0015] 従って、本開示はCABACをサポートするビデオ符号化プロセスにおいて、デバイスにビデオブロックの係数を実行時に量子化させる命令を備えるコンピュータ可読媒体をも意図しており、命令はデバイスにビデオブロックの最後の非ゼロ係数を推定させ、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいてビデオブロックの量子化係数のセットを生成させる。]
[0016] 本開示の1つまたは複数の態様の詳細について、添付の図面および以下の説明において述べる。本開示で説明する技術の他の特徴、目的および利点は、これらの説明および図面ならびに特許請求の範囲から明らかになろう。]
図面の簡単な説明

[0017] ビデオ符号化および復号システムを示す例示的なブロック図。
本開示に一致するビデオエンコーダの例を示すブロック図。
4×4要素ビデオブロックのジグザグ走査を示す概念図。
本開示に一致するビデオデコーダの例を示すブロック図。
本開示に一致する技術を示すフローチャート。
本開示に一致する技術を示すフローチャート。
本開示に一致する技術を示すフローチャート。
本開示に一致する技術を示すフローチャート。
本開示に一致する技術を示すフローチャート。
本開示に一致する技術を示すフローチャート。]
実施例

[0018] 図1は、本開示の技術を実装できる1つの例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は通信チャネル15を介して符号化ビデオを宛先デバイス16に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス16は、広範囲のデバイスのいずれかを含み得る。ソースデバイス12および宛先デバイス16は、場合によってはいわゆるセルラー電話または衛星無線電話の無線ハンドセットなどの無線通信デバイスまたは通信チャネル15を介してビデオ情報を伝達することができ、その場合は通信チャネル15が無線である任意の無線デバイスを含む。ただし、量子化に関係する本開示の技術は、必ずしも無線適用例または設定に限定されるわけではない。] 図1
[0019] 図1の例では、ソースデバイス12はビデオソース20とビデオエンコーダ22と変調器/復調器(モデム)23と送信機24とを含むことができる。宛先デバイス16は、受信機26とモデム27とビデオデコーダ28とディスプレイデバイス30とを含むことができる。本開示によれば、ソースデバイス12のビデオエンコーダ22は、コンテキスト適応型2進算術符号化(CABAC)の効果を考える量子化技術を適用するように構成され得る。このようにしてソースデバイス12は量子化の望ましいレベルを達成し、それによって符号化プロセスを改善することができる。] 図1
[0020] 図1の図示のシステム10は、例示にすぎない。本開示の量子化技術は、CABACをサポートする任意の符号化デバイスによって実行され得る。ソースデバイス12は、そのような符号化デバイスの一例にすぎない。本開示の量子化技術は、エントロピー符号化のためのCABACをサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化することを含み得る。この場合、ビデオエンコーダ22はビデオブロックの量子化係数の複数のセットを生成することができ、量子化係数のセットの各々はビデオブロックの係数の特定の1つがビデオブロックの最後の非ゼロ係数に対応するという仮定に基づいて定義される。最後の非ゼロ係数は、ジグザグ走査などの使用される走査順序に依存する。ビデオエンコーダ22は、量子化係数のセットの異なるセットにそれぞれ基づく推定されるコストであって、CABACによってビデオブロックを符号化することに関連する複数のコストを推定し、最低コストに関連する量子化係数のセットの所定の1つを選択することができる。異なる係数をビデオブロックの最後の非ゼロ係数であると見なす単一のパスにおいて、量子化係数の異なるセットの各々について推定されるコストを生成する限り、この手法は1パス手法と呼ばれる
代替的に、本開示の量子化技術は2パス手法に従うことができる。この場合、本技術は第1のパスにおいてビデオブロックの最後の非ゼロ係数を推定することと、次に推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいて第2のパスにおいてビデオブロックの量子化係数のセットを生成することとを備える。本開示は、合成1パス手法と2パス手法の両方を提案する。合成1パス手法では、あらゆる可能な係数を最後の非ゼロ係数であると見なすことができ、最後の非ゼロ係数である異なる係数に対して、量子化係数の多くの可能なセットを生成することができる。しかしながら、2パス手法では推定技術を使用して最後の非ゼロ係数を推定し、推定された最後の非ゼロ係数が最後の非ゼロ係数として固定される唯一の場合にのみ量子化係数のセットが生成され、考慮され得る。合成1パス手法は、1パス手法よりも計算集約的であるが、場合によってはより正確な結果をもたらすことがある。様々な追加の技術を使用して、1パス手法の計算の複雑さを低減することができる。2パス手法は、1パス手法に対して複雑さをかなり低減することができ、多くの場合、2パス手法の符号化品質の低下は1パス手法に対して無視され得る。] 図1
[0021] 一般に、ソースデバイス12は宛先デバイス16に送信するための符号化ビデオデータを生成する。ただし、場合によっては、デバイス12、16はほぼ対称に動作することができる。例えば、デバイス12、16の各々はビデオ符号化および復号構成要素を含み得る。従って、システム10は例えばビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス12とビデオデバイス16との間の一方向または双方向のビデオ送信をサポートすることができる。]
[0022] ソースデバイス12のビデオソース20は、ビデオカメラ、あらかじめキャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなどのビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース20はソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータ生成ビデオとの組合せを生成することができる。場合によっては、ビデオソース20がビデオカメラである場合、ソースデバイス12および宛先デバイス16は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。いずれの場合も、キャプチャされたビデオ、あらかじめキャプチャされたビデオ、またはコンピュータ生成されたビデオをビデオエンコーダ22によって符号化することができる。次いで、符号化ビデオ情報は例えば符号分割多元接続(CDMA)または別の通信規格などの通信規格に従ってモデム23によって変調され、送信機24を介して宛先デバイス16に送信される。モデム23は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。]
[0023] 宛先デバイス16の受信機26はチャネル15を介して情報を受信し、モデム27は情報を復調する。ここでも、ビデオ符号化プロセスは量子化プロセスを改善するために本明細書で説明する技術を実装することができる。ビデオデコーダ28によって実行されるビデオ復号プロセスは、ビデオシーケンスの再構成において逆量子化を行うことができる。ディスプレイデバイス28は、復号されたビデオデータをユーザに対して表示し、陰極線管、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイまたは別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを含み得る。]
[0024] 図1の例では、通信チャネル15は無線周波数(RF)スペクトルまたは1つまたは複数の物理的伝送線路などの無線または有線の任意の通信媒体、あるいは無線および有線の媒体の任意の組合せを含むことができる。通信チャネル15は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル15は、一般にビデオデータをソースデバイス12から宛先デバイス16に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。] 図1
[0025] ビデオエンコーダ22およびビデオデコーダ28は、代替的にMPEG-4,Part10,Advanced Video Coding(AVC)として説明されるITU−T H.264規格など、CABACをサポートするビデオ圧縮規格に従って動作し得る。図1には示されていないが、いくつかの態様ではビデオエンコーダ22およびビデオデコーダ28はそれぞれオーディオエンコーダおよびデコーダと統合でき、適切なMUX−DEMUXユニットまたは他のハードウェアおよびソフトウェアを含み、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)など他のプロトコルに準拠することができる。] 図1
[0026] ITU−T H.264/MPEG−4(AVC)規格は、ジョイントビデオチーム(JVT)として知られる共同パートナーシップの成果として、ISO/IECの動画像専門家グループ(MPEG)とともにITU−Tのビデオ符号化専門家グループ(VCEG)によって公式化された。いくつかの態様では、本開示で説明する技術は一般にH.264規格に準拠するデバイスに適用され得る。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264“Advanced Video Coding for generic audiovisual services”に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶことがある。ジョイントビデオチーム(JVT)はH.264/MPEG−4 AVCへの拡張の取り組みを続けている。]
[0027] ビデオエンコーダ22およびビデオデコーダ28は、それぞれ1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ22およびビデオデコーダ28の各々を1つまたは複数のエンコーダまたはデコーダ中に含めることができ、そのいずれかは複合エンコーダ/デコーダ(CODEC)の一部としてそれぞれモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合できる。]
[0028] ビデオシーケンスは、一般に一連のビデオフレームを含む。ビデオエンコーダ22は、ビデオデータを符号化するために個々のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは、サイズを固定することも変更することもでき、指定の符号化規格に応じてサイズが異なることがある。各ビデオフレームは、一連のスライスを含む。各スライスは一連のマクロブロックを含むことができ、それらはサブブロック中に配置され得る。一例として、ITU−T H.264規格は、輝度成分では16×16,8×8または4×4、および色度成分では8×8など、様々なブロックサイズのイントラ予測、ならびに輝度成分では16×16,16×8,8×16,8×8,8×4,4×8および4×4、および色度成分では対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、画素データのブロック、または例えば離散コサイン変換もしくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを含み得る。本開示の量子化技術は、一般に、変換されたビデオブロックの変換係数に適用される。]
[0029] ビデオブロックは、小さいほどより良い解像度が得られ、高いディテールレベルを含むビデオフレームの位置決めに使用され得る。一般に、マクロブロック(MB)および様々なサブブロックをビデオブロックと見なすことができる。さらに、スライスはMBおよび/またはサブブロックなど一連のビデオブロックであると見なすことができる。各スライスは、ビデオフレームの単独で復号可能な単位とすることができる。予測の後に、8×8残差ブロックまたは4×4残差ブロック上で変換を行うことができ、イントラ16×16予測モードが使用される場合は、色度成分または輝度成分用の4×4ブロックのDC係数に追加の変換を適用することができる。ここでも、変換の後のデータは依然としてビデオブロック、すなわち変換係数のブロックであると呼ばれることがある。「係数」という用語は、一般に変換係数を指すが、代替的に画素値または別のタイプの係数など、他のタイプの係数または値を指すことがある。]
[0030] (H.264/AVCまたは離散コサイン変換DCTにおいて使用される4×4または8×8整数変換などの)イントラベースまたはインターベースの予測符号化および変換技術の後、量子化を行うことができる。量子化は、以下でより詳細に論じるが、一般に係数を表すために使用されるデータ量をできるだけ低減するように係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。例えば、量子化中に8ビット値を7ビット値まで丸めることができる。本開示の量子化技術は、CABACが実行されることを省く。]
[0031] 特に、量子化の後、CABAC方法に従ってエントロピー符号化行うことができる。本開示は、レートと歪みとの望ましいバランスを達成することができるようにビデオブロックの係数を量子化するための技術を提供する。ここで説明する技術は、量子化を改善し、例えば通信レートの所定のビット配分において望ましい品質レベルを達成するためにCABACの推定を実装する。]
[0032] 本開示の技術によれば、ビデオエンコーダ22はビデオブロックの量子化係数の複数のセットを生成することができ、量子化係数のセットの各々はビデオブロックの係数の特定の1つがビデオブロックの最後の非ゼロ係数に対応するという仮定に基づいて定義される。ビデオエンコーダ22は、量子化係数セットの異なるセットにそれぞれ基づいて推定されるコストであって、CABACによってビデオブロックを符号化することに関連する複数のコストを推定し、最低コストに関連する量子化係数のセットの所定の1つを選択することができる。ビデオエンコーダ22は、ビデオブロックの量子化のために、選択された量子化係数のセットを使用することができる。この手法は1パス手法と呼ばれる。]
[0033] 代替的に、本開示の量子化技術は2パス手法に従うことができる。この場合、ビデオエンコーダ22は第1のパスにおいてビデオブロックの最後の非ゼロ係数を推定し、次いで推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいて、第2のパスにおいてビデオブロックの量子化係数のセットを生成することができる。2パス手法では、推定技術を使用して最後の非ゼロ係数を推定し、推定された最後の非ゼロ係数が実際は最後の非ゼロ係数である場合にのみ、量子化係数のセットを見なすことができる。別個の推定パスにより、最後の非ゼロ係数として正しい係数を有しない量子化係数のセットに関連する計算を行う必要がなくなる。]
[0034] 図2は、本開示に合致する、残差係数の量子化を行うレート歪み(RD)量子化ユニット40を含むビデオエンコーダ50の例を示すブロック図である。ビデオエンコーダ50は、デバイス20のビデオエンコーダ22または異なるデバイスのビデオエンコーダに対応することがある。ビデオエンコーダ50は、ビデオフレーム内のブロックのイントラ符号化およびインター符号化を行うことができる。イントラ符号化は、空間的予測を利用して所定のビデオフレーム内のビデオの空間的冗長性を低減または除去する。インター符号化は、時間的予測を利用してビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去する。インター符号化の場合、ビデオエンコーダ50は動き推定を行い、2つ以上の隣接フレーム間でビデオブロックをマッチングさせる動作を追跡する。イントラモード(Iモード)は空間ベースの圧縮モードを指し、予測(Pモード)または双方向(Bモード)などのインターモードは、時間ベースの圧縮モードを指す。] 図2
[0035] 図2に示すように、ビデオエンコーダ50は符号化されるべきビデオフレーム内の現ビデオブロックを受信する。図2の例では、ビデオエンコーダ50は、予測ユニット32、参照フレーム記憶部34、ブロック変換ユニット38、RD量子化ユニット40、逆量子化ユニット42、逆変換ユニット44およびCABAC符号化ユニット46を含む。ブロック境界をフィルタ処理してブロッキネスアーティファクトを除去するために、デブロッキングフィルタ(図示せず)を含めることもできる。ビデオエンコーダ50は、また加算器48と加算器51を含む。予測ユニット32は、一般にイントラ予測ユニットおよび/またはインター予測ユニットを表す。] 図2
[0036] 符号化プロセス中に、ビデオエンコーダ50は符号化されるべきビデオブロックを受信し、予測ユニット32は予測符号化技術を実行する。インター符号化の場合、予測ユニット32は予測ブロックを定義するために、符号化されるべきビデオブロックを1つまたは複数のビデオ参照フレームまたはスライス中の様々なブロックと比較する。イントラ符号化の場合、予測ユニット32は同じ符号化単位内の隣接するデータに基づいて予測ブロックを生成する。予測ユニット32は予測ブロックを出力し、加算器48は符号化されているビデオブロックから予測ブロックを減算して残差ブロックを生成する。]
[0037] インター符号化の場合、予測ユニット32は予測ブロックを指す動きベクトルを識別し、動きベクトルに基づいて予測ブロックを生成する動き推定および動き補償ユニットを含むことができる。一般に、動き推定は動きを推定する動きベクトルを生成するプロセスと考えられる。例えば、動きベクトルは現フレーム内の符号化されている現ブロックに対する予測フレーム内の予測ブロックの変位(displacement)を示すことができる。動き補償は、一般に動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成するプロセスと考えられる。上記のように、イントラ符号化の場合、予測ユニット32は同じ符号化単位内の隣接するデータに基づいて予測ブロックを生成する。1つまたは複数のイントラ予測モードは、イントラ予測ブロックをどのように定義できるかを定義し得る。]
[0038] ビデオエンコーダ50は、符号化されている元のビデオブロックから、予測ユニット32によって生成された予測ビデオブロックを減算することによって、残差ビデオブロックを形成する。加算器48がこの減算演算を行う。変換ユニット38は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換ブロック係数を含むビデオブロックを生成する。変換ユニット38は、例えば概念的にDCTと同様である、H.264規格によって定義される他の変換を行うことができる。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換をも使用することができる。いずれの場合も、変換ユニット38は変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素領域から周波数領域に変換することができる。]
[0039] RD量子化ユニット40(本明細書では「量子化ユニット40」とも呼ぶ)は、ビットレートをさらに低減するために残差変換係数を量子化する。特に、量子化ユニット40は、CABACユニット46によって実行されるCABAC符号化を省くために、以下でより詳細に説明する量子化技術の1つまたは複数を実行する。このようにして、量子化ユニット40はレート歪みモデルを実装し、例えば所定のレートまたはビット配分に対して望ましい数のビットを達成する所望レベルの量子化を達成することができる。]
[0040] CABACユニット46は、量子化の後データをさらに圧縮するために、CABAC方法に従って、量子化された変換係数をエントロピー符号化する。CABACユニット46によるエントロピー符号化の後、符号化ビデオを別のデバイスに送信するか、あるいは後で送信または検索するためにアーカイブすることができる。逆量子化ユニット42および逆変換ユニット44は、それぞれ逆量子化および逆変換を適用して、基準ブロックとして使用するために画素領域中の残差ブロックを再構成する。加算器51は、再構成された残差ブロックを動き補償ユニット36によって生成された動き補償された予測ブロックに加算して、参照フレーム記憶部34に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するための基準ブロックとして予測ユニット32によって使用される。]
[0041] 予測誤差E(x,y)、すなわち符号化されているブロックI(x,y)と予測ブロックP(x,y)との間の差を変換基底関数fij(x,y)の重み付け和]
[0042] として表すことができる。ここで、xおよびyはビデオブロック内の所定の係数の位置を定義する。cijは重み係数であり、予測誤差係数とも呼ばれる。変換は、一般に8×8(N=8)または4×4(N=4)ブロックベースで行われる。その後、重みcijは、]
[0043] のように量子化され得る。ここで、lijは量子化係数または量子化レベルと呼ばれる。QPは量子化パラメータであり、Qは量子化ステップサイズを定義する量子化行列である。量子化の演算は、情報の損失をもたらす。しかしながら、量子化係数をより少ない数のビットで表し、それによって伝送帯域幅、記憶スペースおよび処理リソースを節約することができる。圧縮(情報の損失)のレベルは、従来ではQPの値を調整することによって制御される。]
[0044] 量子化された変換係数は、動きベクトルおよび何らかの制御情報とともに、要素の完全な符号化シーケンスを形成することができる。これらの要素の全ては、符号化デバイスから復号デバイスに送信する前に、一般にそれらの表現に必要なビット数をさらに低減するようにエントロピー符号化される。]
[0045] デコーダ側では、現フレーム中のブロックは、最初にエンコーダの場合と同じ方法でその予測値を構成し、圧縮された予測誤差を予測値に追加することによって得られる。圧縮された予測誤差は、次のように逆量子化係数に逆変換を適用することによって見いだされる。]
[0046] ここで、rijは逆量子化係数(再構成係数とも呼ばれる)である。係数rijは、逆量子化]
[0047] によって計算され得る。再構成されたフレームR(x,y)と元のフレームI(x,y)との間の差は、再構成誤差と呼ばれることがある。]
[0048] 従来では、ビデオコーデックにおける変換係数の量子化は通常、均一再構成量子化器(uniform-reconstruction quantizer)(URQ)に基づく。データを量子化するための分類ルールは、エンコーダによって定義される。量子化の一例は、いわゆるデッドゾーン+均一しきい値量子化(DZ−UTQ)手法である。以下の式は、そのようなデッドゾーン量子化器を定義し、f0は0≦f0≦0.5でのデッドゾーンパラメータを示す。]
[0049] ここで、lijは所定のQPに関連するレベルに対応する。]
[0050] 概念的に、レベルlijに対応する再構成値rijは、lijに、対応するQPを乗算することによって導出され得る。]
[0051] 簡単にするために、対応する基底関数の正規化のための様々なスケーリングファクタを無視するので、式]
[0052] は、MPEG−4 AVCで実際に規定されていることを数学的に簡略化したバージョンを表す。]
[0053] H.264およびMPEG−4 AVCでは、量子化を以下の式に従って行うことができる。]
[0054] ここで、Qは量子化行列を表し、%はモジュラ除算を表す。fはイントラフレームの場合、215+QP/6/3に等しく、インターフレームの場合、215+QP/6/6に等しい。係数の逆量子化は、以下の式に従って行われ得る。]
[0055] ここで、Rは逆量子化行列を表す。QP%6=0.1,...,5の場合のQおよびRに関連する値は事前に計算され、記憶される。]
[0056] 所定のブロック中の係数は、ジグザグ走査または別の走査順序を使用して順序付けられ(走査され)、1次元の順序付き(ordered)係数ベクトルを生じる。ジグザグス走査などの走査は、ブロックによって定義される2次元のパターンとは対照的に、1次元の一連の係数を生成するという点でシリアライゼーションとも呼ばれる。4×4ブロックの例示的なジグザグ走査を図3に示す。ジグザグ走査は、一般に2次元(2D)変換を適用した後、最高のエネルギーを有する変換係数(すなわち、より高い値の係数)が低周波変換関数に対応し、図3に示すようにブロックの左上に配置されることを想定する。従って、ジグザグス走査によって生成される係数ベクトルにおいて、大きさが大きい係数ほど1次元の順序付き係数ベクトルの開始近くに現れる可能性が高くなる。量子化の後、大部分の低いエネルギー係数は0に等しくなることがある。] 図3
[0057] CABACは、H.264/AVCにおいて使用される変換係数を符号化する1つの方法である。図2のCABAC符号化ユニット46は、そのような符号化を行うことができる。一般に、CABACを使用して任意のデータシンボルを符号化することは、2値化、コンテキストモデル選択、算術符号化および確率更新のステージを必要とすることがある。2値化の場合、CABACユニット46は算術符号化より前に任意の非2値シンボルを2進コードに変換する。コンテキストモデル選択では、例えば最近符号化されたデータシンボルに関連する統計に応じて、CABACユニット46は利用可能なモデルの選択肢からコンテキストモデルを選択する。「コンテキストモデル」は、2値化されたシンボルの1つまたは複数のビン(bin)に対する確率モデルである。このモデルは、最近符号化されたデータシンボルの統計に応じて、利用可能なモデルの選択肢から選択され得る。コンテキストモデルは、各ビンが「1」または「0」である確率を記憶する。] 図2
[0058] 算術符号化の場合、CABACユニット46は選択された確率モデル(コンテキストモデルとも呼ばれる)に従って各ビンを符号化する。選択された確率モデルは、実際の符号化された値に基づいて更新(確率更新)される(例えば、ビン値が「1」であった場合、頻度カウント「1」を増加する)。CABACにおける確率推定は、有限状態機械(FSM)を使用したテーブル駆動型推定器に基づくことができる。この場合、CABACにおける各確率モデルは、関連する確率値pを持つ128個の異なる状態から1つをとることができる。確率更新は、2つの2値決定「0」または「1」のうち最も確率が低い「劣勢シンボル(Least Probable Symbol)」に対して、64個の別個の確率状態間の遷移プロセスによって実行される。コンテキストモデル選択、算術符号化および確率更新は、2値化シンボルのビット(または「ビン」)毎に繰り返される。]
[0059] CABACユニット46によってCABACを使用する変換係数は、いわゆる重要度マップの符号化と、非ゼロ係数の符号化とを含む。ブロックが非ゼロ係数を有する場合、2値重要度マップ(binary-valued significance map)を符号化する。走査順序における係数毎に、1ビットシンボルsignificant_coeff_flagを送信する。significant_coeff_flagシンボルが1である場合、すなわち非ゼロ係数がそれぞれの走査位置に存在する場合、さらなる1ビットシンボルlast_significant_coeff_flagを送信する。このlast_significant_coeff_flagシンボルは、現在の非ゼロ係数がブロック内部で最後の非ゼロ係数である(last_significant_coeff_flag=1)であるか、または非ゼロ係数がさらに続く(last_significant_coeff_flag=0)であるかを示す。]
[0060] 重要度マップを符号化する場合、最高15個の異なる確率モデルをsignificant_coeff_flagとlast_significant_coeff_flagの両方に対して使用することができる。モデルの選択、従って対応するコンテキストインデックスは、走査位置に依存することがある。0でないレベルcoeff_abs_level_minus1=|lij|−1を符号化する場合、10個のコンテキストを使用する。コンテキストのうちの5つは2値表現の第1のビットを符号化するためのものであり、他の5つは2〜14番目のビットの符号化に専用のものである。CABACユニット46によって、コンテキストを次のように選択することができる。]
[0061] 1.パラメータNumLg1およびNumEq1をそれぞれ、それまでにブロック中で符号化された、1よりも大きい係数および1に等しい係数の数に等しく設定する。非ゼロレベルを符号化し、従ってパラメータNumLg1およびNumEq1を逆方向走査順序で更新し、すなわち高周波変換関数に対応する係数を最初に符号化する。]
[0062] 2.2値化シンボルの第1のビットのためのコンテキストを次のように決定することができる。]
[0063] 3.2値化シンボルの2〜14番目のビットのためのコンテキストを次のように選択することができる。]
[0064] CABACユニット46は、固定の分布を持つバイパスモードをもサポートすることができる。coeff_abs_level_minus1の2値表現中の他のビットは、バイパスモードを通過することができる。最後に、非ゼロ係数の符号を非ゼロ係数毎に1ビットを使用して送信することができ、例えば1は正を示し0は負を示す(またはその逆)。]
[0065] 予測誤差E(x,y)と予測誤差の再構成バージョン]
[0066] との間の平均2乗誤差(MSE)歪みDが係数を符号化するためのレートRにおける制約を受けて最小限に抑えられるように、N×Nビデオブロック毎に、その変換係数cijがあるとすれば(再構成係数rijを決定する)対応する量子化係数lijを見いだすことが望ましい。言い換えれば、目的は以下の式を最小限に抑えることである。]
[0067] 他の付加的な歪み測定基準、例えばアクティビティ重み付けMSEをMSEの代わりに使用することができる。上記の式を最小限に抑えるというレート制約問題は、ラグランジュ乗数λを使用してレートと歪みとを「マージする」ことによって、等価な制約なし問題に変換することにより解決され得る。この場合、制約なし問題は(一定のλに対する)係数レベルの決定になり、次のように定義される最小総ラグランジュコストを生じる。]
[0068] H.264の場合、2乗再構成誤差]
[0069] は、所定のブロックに対して2乗量子化誤差]
[0070] に比例する。レートRは、量子化係数lijを符号化するために必要なビット数である。]
[0071] 以下で論じる提案されたアルゴリズムは、総ラグランジュコスト関数J(λ)の値がその最小値に近い量子化係数値lijを見いだす。]
[0072] MPEG−4 AVCにおいて使用される変換が直交であるので、ラグランジュコストJ(λ)は]
[0073] のように計算され得る。この場合、J(λ,cij,lij)はレベルlijに量子化されたときの係数cijのラグランジュコストである。言い換えれば、]
[0074] である。量子化誤差err(cij,lij)は、(rij−cij)2に比例する。]
[0075] ここでも、QPは量子化パラメータであり、%はモジュラ除算を表す。N(QP%6,i,j)は、正規化行列を表す。QPが小さくなるにつれて、符号化品質は一般に高まる。すなわち、一般にQPの値が小さくなるほど量子化が小さくなり、従って符号化品質が向上することに対応する。代替的に、QPがそのような方法で定義された場合、QPが小さくなるにつれて符号化品質が低下することがある。]
[0076] 量子化行列Qおよび逆量子化行列Rの場合、正規化行列の値N(QP%6,i,j)は、iおよびjならびにQP%6=0,1,...,5の値によって規定されるブロック中の位置にのみ依存することがある。値lijを符号化するために必要なビット数(「ビット(lij)」)は、例えば、ITUH.264で定義されるCABACの一部分を使用してlijを符号化することによって計算され得る。しかしながら、CABACステップの全てを行うのではなく、RD量子化ユニット40は量子化のためにCABACの第1の2つのステップを行うだけでよい。これらの第1の2つのステップは、2値化およびコンテキストモデル選択を含む。次いで、2値算術符号化を行うために算術コーダを起動する代わりに、RD量子化ユニット40は、各ビンを符号化するために必要なビット数を推定することができる。所定のビンに対して選択されたコンテキストが、有限状態機械における状態mに対応すると仮定すると、所定のビンを符号化するために必要な推定されたビット数を状態mに割り当てられた確率pのエントロピーとして表すことができる。RD量子化ユニット40がマクロブロック当たり1回、ビン毎にコンテキストを決定することで十分である。]
[0077] 係数cij毎に、レベル|Iij|の多くて3つの可能な値0,IijfloorおよびIijceilをテストすることができる。単一パスの例と同様に、この2パス手法では4×4ブロック値IijfloorおよびIijceilを次のように計算することができる。]
[0078] 所定のブロック中の係数がジグザグ走査を使用して順序付けられ(走査され)、1次元の順序付き係数ベクトルを生じると仮定する。順序付き係数は、ci,ただしi=0,...,Mとして示され、例えばMは4×4ブロックの場合は15に等しく、8×8ブロックの場合は63に等しい。]
[0079] 本開示によれば、RD量子化ユニット40は、次のように量子化係数/レベルliを生成することができる。]
[0080] 1.係数ck,k=M,M−1,...,0がブロック中の最後の非ゼロ係数である、すなわち走査位置kのlast_significant_coeff_flagが1に等しいと仮定して、ラグランジュコストJk(λ)を計算し、量子化係数lkのベクトルを生成する。]
[0081] a.量子化された値liがあらかじめ選択された値のセット、例えば0,lfloorおよびlceilに等しいとき、係数ci,i=k−1,...,0毎に、そのラグランジュコストJ(λ,ci,li)を計算する。]
[0082] 2.J(λ,ci,li)が最小限に抑えられるliの値を取り上げ、liの選択された値に対応するJ(λ,ci,li)を使用してラグランジュコストJk(λ)を更新する。]
[0083] RD量子化ユニット40によって実行される量子化技術の速度は、次のように高められ得る。]
[0084] 1.(例えばlfloatとlfloorまたはlceilとの間の絶対距離によって測定されるように)係数ciがlceilよりもlfloorに近い場合、値lfloorのみを上記のステップ1.aにおいて考える。]
[0085] 2.係数ckがlceilよりもlfloorに近く、lfloorが0に等しい場合、係数ckを最後の非ゼロ係数とすることはできない。従って、この場合ラグランジュコストJk(λ)の計算をこのkの値に対してスキップする。]
[0086] 3.kが減少するとともにJk(λ)が増加し始めるとき、Jk(λ)の計算を終了する。]
[0087] 要約すると、RD量子化ユニット40はCABACをサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化することができる。RD量子化ユニット40は、量子化係数のセットの各々がビデオブロックの係数の特定の1つがビデオブロックの最後の非ゼロ係数に対応するという仮定に基づいて定義される、ビデオブロックの量子化係数の複数のセットを生成し、量子化係数のセットの異なるセットにそれぞれ基づく推定されるコストであって、CABACによってビデオブロックを符号化することに関連する複数のコストを推定し、最低コストに関連する量子化係数のセットの所定の1つを選択し、量子化係数のセットの所定の1つをCABAC符号化ユニット46に出力することができる。次いで、CABAC符号化ユニット46は量子化係数のセットの所定の1つに対してCABACプロセスを実行して、量子化係数のセットの所定の1つをビットストリームにエントロピー符号化し、ビットストリームを出力することができる。]
[0088] 量子化ユニット40は、レート歪みモデルに関連するラグランジュコスト関数を計算することによって、コストを推定することができる。量子化係数のセットの選択された1つに関連する特定のコストは、複数のコストに関連するビットの最低数を定義する。量子化ユニット40は、特定のコストに関連するビットの最低数を示す値を記憶することができる。]
[0089] ラグランジュコスト関数は、量子化係数のセット中の量子化係数の各々に関連する個々の係数ラグランジュコストのセットを定義することができる。量子化ユニット40は、0、フロア値およびシーリング値に等しい量子化係数の値に対して、量子化係数のセット中の量子化係数に関連する個々の係数ラグランジュコストのセットを計算する。これらの値の例について上述した。一般に、フロア値はビデオブロックの係数の個々の係数の絶対値、量子化パラメータおよび量子化行列に基づいており、シーリング値はフロア値+1からなる。]
[0090] この量子化プロセスを加速するために、量子化ユニット40は上述の技術のような加速技術を実装することができる。例えば、量子化係数の個々の1つについて、量子化係数の個々の1つがシーリング値よりもフロア値に近い場合、量子化ユニット40はシーリング値に等しい値に対して量子化係数の個々の1つに関連する個々の係数ラグランジュコストの計算をスキップすることができる。]
[0091] また、量子化係数のセットの1つに対するビデオブロックの最後の非ゼロ係数に対応する、ビデオブロックの係数の特定の1つがシーリング値よりもフロア値に近い値を定義した場合、およびフロア値が0に等しい場合、RD量子化ユニット40は量子化係数セットのその1つに対してビデオブロックの符号化に関連する特定のコストを推定することをスキップすることができる。さらに、セットの特定の1つに関連する特定のラグランジュコストを定義する合計が、ビデオブロックの係数の値が減少するとともに増加し始めるとき、RD量子化ユニット40はセットの特定の1つに関連する複数のコストを推定することを終了することができる。これらまたは他の技術を符号化ビデオの品質を劣化させることなく、量子化プロセスを加速するために使用することができる。]
[0092] 図4は、本明細書で説明する方法で符号化されたビデオシーケンスを復号するビデオデコーダ60の例を示すブロック図である。ビデオデコーダ60は、図3のCABACユニット46によって実行される符号化とは逆の復号機能を実行するCABAC復号ユニット52を含む。] 図3 図4
[0093] ビデオデコーダ60は、ビデオフレーム内のブロックのイントラ復号およびインター復号を実行することができる。図4の例では、ビデオデコーダ60は(上述の)CABAC復号ユニット52、動き補償ユニット54、逆量子化ユニット56、逆変換ユニット58および参照フレーム記憶部62を含む。ビデオデコーダ60は、加算器64をも含む。随意に、ビデオデコーダ60は加算器64の出力をフィルタ処理するデブロッキングフィルタ(図示せず)をも含み得る。図4は、ビデオブロックのインター復号のためのビデオデコーダ60の時間的予測構成要素を示す。図4には示されていないが、ビデオデコーダ60はいくつかのビデオブロックのイントラ復号のための空間的予測構成要素をも含むことができる。] 図4
[0094] CABAC復号ユニット52によってCABAC復号が実行された後、動き補償ユニット54は動きベクトルと参照フレーム記憶部62からの1つまたは複数の再構成された参照フレームを受信する。逆量子化ユニット56は、量子化されたブロック係数を逆量子化、すなわち逆量子化する。逆量子化プロセスは、H.264復号によって定義された従来のプロセスとすることができる。逆変換ユニット58は、変換係数に逆変換、例えば逆DCTまたは概念的に同様の逆変換プロセスを適用して、画素領域における残差ブロックを生成する。動き補償ユニット54は、復号ブロックを形成するために加算器64によって残差ブロックと加算される動き補償ブロックを生成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。次いで、フィルタ処理されたブロックは参照フレーム記憶部62中に置かれ、参照フレーム記憶部62は動き補償からの基準ブロックを供給し、ドライブディスプレイデバイス(図1のデバイス28など)に対して復号ビデオをも生成する。] 図1
[0095] 図5は、ビデオエンコーダ50によって実行される1パス技術を示すフローチャートである。図示のように、レート歪み(RD)量子化ユニット40は、非ゼロ係数の仮定に基づいて量子化係数のセットを生成する(101)。特に、RD量子化ユニット40は所定の係数が最後の非ゼロ係数であると仮定し、この仮定に基づいてビデオブロック用に係数のセットを計算する。次に、RD量子化ユニット40は別の係数が最後の非ゼロ係数であると仮定し、この仮定に基づいてビデオブロック用に別の係数のセットを生成し、以下同様である。] 図5
[0096] 量子化ユニットは、量子化係数のセット毎にラグランジュコスト関数に基づいてコストを推定する(102)。特に、RD量子化ユニット40はセット毎に複数の可能な値、例えば0、フロア値およびシーリング値において係数毎に個々のラグランジュコスト関数を決定する。フロア値はビデオブロックの係数の個々の係数の絶対値、量子化パラメータおよび量子化行列(または、そのパラメータ)に基づいており、シーリング値はフロア値+1からなる。]
[0097] RD量子化ユニット40は、最低の全ラグランジュコストを有する量子化係数のセットを選択する(103)。特に、RD量子化ユニット40はセットの係数毎に最低の個々のラグランジュコストを加算し、可能なセット毎に同プロセスを繰り返す。ここでも、ラグランジュコストはレートと歪みとのコストのバランスをとる。RD量子化ユニット40は最低の全ラグランジアンを有するセットを選択し(103)、RD量子化ユニット40は選択された量子化係数のセットをCABAC符号化ユニット46に出力する(104)。CABAC符号化ユニット46は、符号化されたビットストリームを生成するために、選択された量子化係数のセットおよび任意の他の構文パラメータに基づいてCABACを実行し(105)、符号化されたビットストリームを出力する(106)。]
[0098] 図6は、コストを推定する例示的なプロセスをより詳細に示す別のフローチャートである。特に、量子化ユニット40は0、フロア値およびシーリング値の値に対して係数毎に個々のラグランジュコスト関数を計算する。ここでも、フロア値はビデオブロックの係数の個々の係数の絶対値、量子化パラメータおよび量子化行列(または、行列からマッピングされたパラメータ)に基づいており、シーリング値はフロア値+1からなる。] 図6
[0099] 上記のように、RD量子化ユニット40が、4×4ブロックの場合に係数cijに対してフロア値(lfloor)およびシーリング値(lceil)をどのように計算することができるかという1つの例を次に示す。]
[0100] ここでも、フロア演算(Ifloat)はIfloatに関連する最低値を表し、QPは量子化パラメータを表し、QはH.264/AVCで定義された量子化行列などの量子化行列を表す。行列Qからのパラメータを定義するために、QP%6、iおよびjの値を使用することができる。関数%はモジュラ除算を表す。]
[0101] RD量子化ユニット40は、係数毎に最低コストの個々の係数ラグランジュコスト関数を選択し(111)、例えば選択された個々の係数ラグランジュコストを加算することによって、セットの全ラグランジュコストを決定する(112)。考慮すべき別の量子化係数のセットがある場合(113のYES分岐)、RD量子化ユニット40はこれらステップ(110〜112)のプロセスを繰り返す。特に、所定の係数が最後の非ゼロ係数であるという仮定によって定義された係数のセット毎に、量子化ユニット40はこれらステップ(110〜112)のプロセスを繰り返す。全ラグランジュコストが(最後の非ゼロ係数の仮定によって定義された)可能な量子化係数のセット毎に決定されると、RD量子化ユニット40は最低の全ラグランジュコストを有する量子化係数のセットを選択する(114)。]
[0102] 図7〜図9は、量子化係数の品質を実質的に犠牲にすることなく、量子化プロセスを加速するために使用できる随意の技術を示す。図7〜図9の技術は、個々に、または一括して使用され得る。図7〜図9の技術は、1パス量子化プロセスに最も適用可能であるが、これらの技術のいくつか(特に図7の技術)は、後でより詳細に扱われる2パス量子化でも有用である。図7に示すように、個々の量子化係数がシーリングよりもフロアに近い場合(121のYES分岐)、RD量子化ユニット40はシーリング値において個々の量子化係数に関連する個々の係数ラグランジュコストの計算をスキップする(122)。この場合、RD量子化ユニット40は個々の量子化係数に関連する個々の係数ラグランジュコストが0またはフロア値のいずれかにおいて最小限に抑えられると仮定する。従ってこの場合、RD量子化ユニット40はシーリング値において個々の量子化係数に関連するラグランジュコストの計算に関連する不要な計算を回避する。しかしながら、個々の量子化係数がシーリングよりもフロアに近くない場合(121のNO分岐)、計算をスキップしない(123)。] 図7 図8 図9
[0103] 図8の技術では、RD量子化ユニット40はフロア値が0に等しいかどうか(131)、および最後の非ゼロ係数に対応する特定の係数がシーリングよりもフロアに近いかどうか(132)を判断する。これらのコンティンジェンシの両方が真の場合(131のYES分岐および132のYES分岐)、RD量子化ユニット40はその特定の最後の非ゼロ係数に関連する特定の量子化係数のセットに対してビデオブロックの符号化に関連する特定のコストを推定することをスキップする(133)。この場合、RD量子化ユニット40はその特定の量子化係数のセットのための全ラグランジュコストが最小値を持たず、値が十分に計算された場合でも、選択されないと仮定する。従ってこの場合、特定のコストの計算をスキップする。しかしながら、これらのコンティンジェンシのいずれかが偽の場合(131のNO分岐または132のNO分岐)、RD量子化ユニット40は特定のコストの推定をスキップしない。図8の技術は、RD量子化ユニット40がいくつかの不要な計算を回避するための別の方法である。] 図8
[0104] 図9の技術では、RD量子化ユニット40は特定のコストを定義する合計を監視、すなわち係数の所定のセットに関連する全ラグランジュコストを定義するために、量子化係数の各々について個々のラグランジュコストの合計を監視する。特定のコストの1つを定義する合計がビデオブロックの係数の値が減少するとともに増加し始める場合(141のYES分岐)、RD量子化ユニット40はそのセットに対する複数のコストの推定を終了する(142)。この場合、RD量子化ユニット40は係数のその所定のセットに関連する全ラグランジュコストが全体的な最小値にならないと仮定する。従って、ステップ141のコンティンジェンシが識別されたとき計算を回避する(141のYES分岐)。合計がビデオブロックの係数の値が減少するとともに増加しないとき(141のNO分岐)、計算を終了しない(143)。] 図9
[0105] 上述のように、本開示は2パス手法をも意図している。2パス手法では、本開示の技術は第1のパスにおいてビデオブロックの最後の非ゼロ係数を推定することと、次いで、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいて、第2のパスにおいてビデオブロックの量子化係数のセットを生成することとを含み得る。別個の推定パスにより、最後の非ゼロ係数として正しい係数を有しない量子化係数のセットに関連する計算を実行する必要がなくなる。本開示によれば、RD量子化ユニット40は以下でより詳細に概説する当該2パス手法に従って、量子化係数を生成することができる。]
[0106] 単一のパス手法のように、以下で論じる提案された2パスアルゴリズムは総ラグランジュコスト関数J(λ)の値がその最小値に近い量子化係数値lijを見いだす。2パス手法は、網羅的な探索に基づいて総ラグランジュコスト関数J(λ)を最小限に抑える方法よりも複雑ではないことによって特徴付けられる。]
[0107] 係数cij毎に、レベル|Iij|の多くて3つの可能な値0,IijfloorおよびIijceilをテストすることができる。単一パスの例と同様に、この2パス手法では4×4ブロック値IijfloorおよびIijceilを次のように計算することができる。]
[0108] さらに、複雑さを低減するために、(例えばIijfloorとIijceilまたはIijceil
との間の絶対距離によって測定されるように)係数cijがIijceilよりもIijfloorに近い場合、値Iijfloorのみを考える。cijは、レベル1よりもレベル0に近い場合、さらに分析することなくレベル0を割り当てられる。言い換えれば、図7の技術は2パス手法の第2のパス中に適用され得る。] 図7
[0109] 所定のブロック中の係数が(例えば、図3に示すように)ジグザグ走査を使用して順序付けられ(走査され)、1次元の順序付き係数ベクトルを生じると仮定する。順序付き係数は、ci,ただしi=0,...,Mとして示され、例えばMは4×4ブロックの場合15に等しく、8×8ブロックの場合63に等しい。] 図3
[0110] RD量子化ユニット40は、符号ビットに加えてliの値を符号化に必要なビットを計算するために、係数が0でないかどうかを示すsignificant_coeff_flag、最後の非ゼロ係数を識別するlast_significant_coeff_flag、および係数の絶対値−1を表すcoeff_abs_level_minus1のシンボルを使用することができる。significant_coeff_flagおよびlast_significant_coeff_flagの場合、コンテキスト、従ってシンボルを符号化するために必要なビットは、走査位置iにのみ依存することがある。しかしながら、coeff_abs_level_minus1のビンのためのコンテキスト(例えば、第1のビンのgreater_than_1シンボルを含む)は、逆順序で走査される他の0でないレベルの値に依存することがある。言い換えれば、liのためのコンテキストは添字j,ただしj>iを持つ量子化係数の値に依存する。]
[0111] 従って、RD量子化ユニット40は2つの別個のパスにおいて量子化係数/レベルliを得ることができる。第1のパスにおいて、RD量子化ユニット40はどの係数が最後の非ゼロ係数でなければならないかを推定することができる。この推定された最後の非ゼロ係数をckとして示すことができる。第2のパスにおいて、係数ckが実際はブロック中の最後の非ゼロ係数であると仮定すると、RD量子化ユニット40は量子化係数の最後の値を決定し、生成することができる。]
[0112] 実装形態では、RD量子化ユニット40は、第1のパスにおいて係数ci0,ci1のみを考えればよく、ただし、i1はIijfloor>0.5の場合のiの最大値であり、
i0はIijfloor>1の場合のiの最大値であるか、または、そのようなインデックスが存在しない場合、i0=0である。]
[0113] さらに、複雑さを低減するために、係数ci,i=i0,...,i1が次のようにli=0に量子化されるとき、Jsumの値を量子化誤差err(ci,li)の和として、事前に計算することができる。]
[0114] RD量子化ユニット40は、ビデオブロックの最後の非ゼロ係数を推定するために使用される、第1のパスにおける以下のステップの一部または全部を実行することができる。]
[0115] 1)係数ci0について、Ii0floor>1.5の場合、
a)Jsumの値を更新する。]
[0116] b)ci0
が、以下のように最後の非ゼロ係数であるとき、ブロックのラグランジュコストJi0(λ)の近似値を計算する。]
[0117] この場合、bitslast=1はci0が最後の非ゼロ係数であることを示す必要があるビット数(すなわち、last_significant_coeff_flagを1に等しく符号化すべきビット数)の近似値である。さらに、bitslast=0はci0が最後の非ゼロ係数ではないことを示す必要があるビット数(すなわち、last_significant_coeff_flagを0に等しく符号化すべきビット数)の近似値である。]
[0118] c)開始インデックスi0をi0=i0+1に更新する。]
[0119] 2)係数ci、ただしi=i0,...,i1について、
a)Jsumの値を更新する。]
[0120] b)ciが0に量子化されるとき、ラグランジュコストJ(λ,ci,0)を見いだす。]
[0121] c)係数ciが1よりも0に近い場合、以下のようにJsumの更新値を計算する。]
[0122] d)係数ciが0よりも1に近い場合、ラグランジュコストの2つの追加の値を計算する。]
[0123] i)Jlast=0(λ,ci,1)−ciは1に量子化され、最後の非ゼロ係数ではない。]
[0124] ii)Jlast=1(λ,ci,1)−ciは1に量子化され、最後の非ゼロ係数である。]
[0125] Jsumの値を更新する。]
[0126] ciが最後の非ゼロ係数であるとき、ラグランジュコストJi(λ)の近似値は、]
[0127] である。量子化係数の値を1に等しく符号化することが必要とされるビットを計算するとき、RD量子化ユニット40はgreater_than_1シンボルのためのコンテキストを5つの可能な値のうちの1つとなるように固定する。]
[0128] Jk(λ)の最小の対応する値をもつ係数ckは、ブロック中で最後の非ゼロ係数であると仮定される。]
[0129] 上記のステップでは、RD量子化ユニット40はあらゆる可能な最後の非ゼロ係数について、あらゆる可能なシナリオを明示的に考えることなく、ビデオブロックの最後の非ゼロ係数を推定する。この場合、RD量子化ユニット40はCABACによってビデオブロックを符号化することに関連するコストを近似することによって、最後の非ゼロ係数を推定する。近似されたコストのうちの異なる1つのコストは、最後の非ゼロ係数である異なる係数に対応する。最終の推定された最後の非ゼロ係数は、最低の近似されたコストを定義する。ステップ1は特殊な場合と考えられ、ステップ2は大部分の係数に対して実行される。]
[0130] 上記のステップでは、RD量子化ユニット40はビデオブロックの係数の各々を最後の非ゼロ係数であると連続的に見なすことによって、近似されたコストのうちの異なるコストを連続的に定義する。そうすることで、RD量子化ユニット40はビデオブロックの係数の各々を最後の非ゼロ係数であると見なすとき、連続的に累積コストを上下に調整する。特に、JsumがJsum=Jsum−err(ci,0)として更新される上記のステップ2(a)は、累積コストを低減することができる。この場合、ステップ2(a)はJsumをより小さくすることができる。一方、Jsumの値がJsum=Jsum+J(λ,ci,0)として、またはJsum=Jsum+min(J(λ,ci,0),Jlast=0(λ,ci,1))として更新されるステップ2(c)および2(d)は、累積コストをより大きくすることができる。従って、RD量子化ユニット40はビデオブロックの係数の各々を最後の非ゼロ係数であると連続的に見なすことによって、近似されたコストのうちの異なるコストを連続的に定義し、そうすることで全コストを上下に調整して累積する。このようにして、RD量子化ユニット40はあらゆる可能な最後の非ゼロ係数について、あらゆる可能なシナリオを明示的に考えることなくビデオブロックの最後の非ゼロ係数を推定する。]
[0131] RD量子化ユニット40は、最後の非ゼロ係数を推定した後、推定された最後の非ゼロ係数が実際はビデオブロックの最後の非ゼロ係数であるという仮定に基づいて、ビデオブロックの量子化係数のセットを生成する第2のパスを実行することができる。特に、第2のパスにおいて、RD量子化ユニット40は第1のパスにおいて選択された係数ckが実際はビデオブロック中の最後の非ゼロ係数であると仮定して、量子化係数毎に最終の値を決定する。この場合、係数ci,i=k,...,0毎に、RD量子化ユニット40はラグランジュコストJ(λ,ci,li)が最小限に抑えられるレベルliの値を見いだす。前述したように、レベルliの3つの異なる値、例えば0,IifloorおよびIiceilを考えることができる。レベルliの値を符号化するときにコンテキストを計算するために、レベルlj,j=k,...,i+1のために既に選択された値を使用することができる。]
[0132] 言い換えれば、量子化係数のセットを生成することは、0、フロア値およびシーリング値に等しい値を有する、ビデオブロックの量子化係数のセット中の可能な非ゼロ量子化係数の各々に関連するラグランジュコストを計算することを含むことができる。ここでも、フロア値はビデオブロックの係数の個々の係数の絶対値、量子化パラメータおよび量子化行列に基づいており、シーリング値はフロア値+1からなり得る。]
[0133] 図10は、上記で概説した2パス手法を使用することができる符号化技術を示すフローチャートである。この場合、RD量子化ユニット40はビデオブロックの最後の非ゼロ係数を推定する(151)。上述のように、当該推定ステップ(151)はCABACによってビデオブロックを符号化することに関連するコストを近似することを含むことができ、近似されたコストのうちの異なるコストは最後の非ゼロ係数である異なる係数に対応し得る。この場合、最終の推定された最後の非ゼロ係数は、最低の近似されたコストを定義する。] 図10
[0134] その上、推定ステップ(151)中にRD量子化ユニット40はビデオブロックの係数の各々を最後の非ゼロ係数であると連続的に見なすことによって、近似されたコストのうちの異なるコストを連続的に定義することができる。そうすることで、RD量子化ユニット40はビデオブロックの係数の各々を最後の非ゼロ係数であると見なすとき、連続的に累積コストを上下に調整する。]
[0135] 次に、RD量子化ユニット40は推定された最後の非ゼロ係数が実際は最後の非ゼロ係数であるという仮定に基づいて、量子化係数のセットを生成する(152)。生成ステップ(152)は0、フロア値およびシーリング値に等しい値を有する、ビデオブロックの量子化係数のセット中の可能な非ゼロ量子化係数の各々に関連するラグランジュコストを計算することを含み得る。RD量子化ユニット40は、量子化係数のセットを生成した後、CABACユニット46に出力することができ、CABACユニット46は生成された量子化係数のセットをビットストリームにエントロピー符号化するために、生成された量子化係数のセットに対してCABACを行う(153)。次いで、符号化ビットストリームを出力し、場合によっては変調して別のデバイスに送信することができる。]
[0136] 本開示の技術は、無線ハンドセットおよび集積回路(IC)またはICのセット(すなわち、チップセット)を含む、多種多様なデバイスまたは装置で実施できる。機能的態様を強調するために与えられた任意の構成要素(コンポーネント)、モジュールまたはユニットについて説明したが、異なるハードウェアユニットなどによる実現を必ずしも必要とするわけではない。]
[0137] 従って、本明細書で説明する技術は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装できる。モジュールまたは構成要素として説明する機能は、集積論理デバイスに一緒に、またはディスクリートであるが相互運用可能な論理デバイスとして別々に実装できる。ソフトウェアで実装した場合、これらの技術は、実行されると、上記で説明した方法の1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現できる。コンピュータ可読データ記憶媒体は、実装材料を含むことがあるコンピュータプログラム製品の一部を形成することができる。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読出し専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを備えることができる。本技術は、追加または代替として、命令またはデータ構造の形態でコードを搬送または伝達し、コンピュータによってアクセス、読込み、および/または実行できるコンピュータ可読通信媒体によって、少なくとも部分的に実現できる。]
[0138] コードは、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路によって実行できる。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技術の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明する機能を、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供することができ、または複合ビデオエンコーダ/デコーダ(コーデック)に組み込むことができる。また、本技術は、1つまたは複数の回路または論理要素中に十分に実装できる。]
[0139] 本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。]
权利要求:

請求項1
コンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのための、ビデオブロックの係数を量子化する方法であって、前記ビデオブロックの最後の非ゼロ係数を推定することと、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという仮定に基づいて前記ビデオブロックの量子化係数のセットを生成することと、を具備する方法。
請求項2
前記生成された量子化係数のセットを出力すること、をさらに具備する請求項1に記載の方法。
請求項3
前記生成された量子化係数のセットを受信することと、前記生成された量子化係数のセットをビットストリームにエントロピー符号化するために、前記生成された量子化係数のセットに対して前記CABACを行うことと、前記ビットストリームを出力することと、をさらに具備する請求項2に記載の方法。
請求項4
前記最後の非ゼロ係数を推定することは、前記CABACによって前記ビデオブロックを符号化することに関連するコストを近似することを含み、前記近似されたコストのうちの異なるコストは、前記最後の非ゼロ係数である異なる係数に対応し、前記推定された最後の非ゼロ係数は、近似された最低コストを定義する請求項1に記載の方法。
請求項5
前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると連続的に見なすことによって前記近似されたコストのうちの前記異なるコストを連続的に定義すること、をさらに具備する請求項4に記載の方法。
請求項6
前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると見なすとき、連続的に累積コストを上下に調整することによって前記近似されたコストのうちの前記異なるコストを定義すること、をさらに具備する請求項5に記載の方法。
請求項7
前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという前記仮定に基づいて前記ビデオブロックの量子化係数の前記セットを生成することは、0、フロア値およびシーリング値に等しい値を有する、前記ビデオブロックの量子化係数の前記セット中の可能な非ゼロ量子化係数の各々に関連するラグランジュコストを計算すること、を具備する請求項1に記載の方法。
請求項8
前記フロア値は前記ビデオブロックの前記係数の個々の係数の絶対値と量子化パラメータと量子化行列とに基づいており、前記シーリング値は前記フロア値+1からなる請求項7に記載の方法。
請求項9
コンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスにおいて、実行時にデバイスにビデオブロックの係数を量子化させる命令を具備するコンピュータ可読媒体であって、前記命令は、前記デバイスに前記ビデオブロックの最後の非ゼロ係数を推定することと、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという仮定に基づいて前記ビデオブロックの量子化係数のセットを生成することと、を行わせるコンピュータ可読媒体。
請求項10
前記デバイスに前記生成された量子化係数のセットを出力させる命令をさらに具備する請求項9に記載のコンピュータ可読媒体。
請求項11
前記デバイスに、前記生成された量子化係数のセットを受信することと、前記生成された量子化係数のセットをビットストリームにエントロピー符号化するために、前記生成された量子化係数のセットに対して前記CABACを行うことと、前記ビットストリームを出力することと、を行わせる命令をさらに具備する請求項9に記載のコンピュータ可読媒体。
請求項12
前記デバイスに、前記CABACによって前記ビデオブロックを符号化することに関連するコストを近似することによって前記最後の非ゼロ係数を推定させる命令をさらに具備し、前記近似されたコストのうちの異なるコストは、前記最後の非ゼロ係数である異なる係数に対応し、前記推定された最後の非ゼロ係数は、近似された最低コストを定義する請求項9に記載のコンピュータ可読媒体。
請求項13
前記デバイスに、前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると連続的に見なすことによって前記近似されたコストのうちの前記異なるコストを連続的に定義させる命令をさらに具備する請求項12に記載のコンピュータ可読媒体。
請求項14
前記デバイスに、前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると見なすとき、連続的に累積コストを上下に調整することによって、前記近似されたコストのうちの前記異なるコストを定義させる命令をさらに具備する請求項13に記載のコンピュータ可読媒体。
請求項15
前記命令は、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという前記仮定に基づいて、0、フロア値およびシーリング値に等しい値を有する、前記ビデオブロックの量子化係数の前記セット中の可能な非ゼロ量子化係数の各々に関連するラグランジュコストを計算すること、によって、前記デバイスに前記ビデオブロックの量子化係数の前記セットを生成させる請求項9に記載のコンピュータ可読媒体。
請求項16
前記フロア値は前記ビデオブロックの前記係数の個々の係数の絶対値と量子化パラメータと量子化行列とに基づいており、前記シーリング値は前記フロア値+1からなる請求項15に記載のコンピュータ可読媒体。
請求項17
コンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化するように構成された装置であって、前記ビデオブロックの最後の非ゼロ係数を推定し、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという仮定に基づいて前記ビデオブロックの量子化係数のセットを生成する量子化ユニットを具備する装置。
請求項18
前記量子化ユニットは、前記生成された量子化係数のセットを出力する請求項17に記載の装置。
請求項19
前記生成された量子化係数のセットを受信し、前記生成された量子化係数のセットをビットストリームにエントロピー符号化するために、前記生成された量子化係数のセットに対して前記CABACを実行し、前記ビットストリームを出力するCABACユニット、をさらに具備する請求項18に記載の装置。
請求項20
前記量子化ユニットは、前記CABACによって前記ビデオブロックを符号化することに関連するコストを近似することによって前記最後の非ゼロ係数を推定し、前記近似されたコストのうちの異なるコストは、前記最後の非ゼロ係数である異なる係数に対応し、前記推定された最後の非ゼロ係数は、近似された最低コストを定義する請求項17に記載の装置。
請求項21
前記量子化ユニットは、前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると連続的に見なすことによって、前記近似されたコストのうちの前記異なるコストを連続的に定義する請求項20に記載の装置。
請求項22
前記量子化ユニットは、前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると見なすとき、連続的に累積コストを上下に調整することによって前記近似されたコストのうちの前記異なるコストを定義する請求項21に記載の方法。
請求項23
前記量子化ユニットは、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという前記仮定に基づき、0、フロア値およびシーリング値に等しい値を有する、前記ビデオブロックの量子化係数の前記セット中の可能な非ゼロ量子化係数の各々に関連するラグランジュコストを計算することによって、前記ビデオブロックの量子化係数の前記セットを生成する請求項17に記載の装置。
請求項24
前記フロア値は前記ビデオブロックの前記係数の個々の係数の絶対値と量子化パラメータと量子化行列とに基づいており、前記シーリング値は前記フロア値+1からなる請求項23に記載の装置。
請求項25
集積回路を具備する請求項17に記載の装置。
請求項26
マイクロプロセッサを具備する請求項17に記載の装置。
請求項27
コンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化するデバイスであって、前記ビデオブロックの最後の非ゼロ係数を推定する手段と、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという仮定に基づいて前記ビデオブロックの量子化係数のセットを生成する手段と、を具備するデバイス。
請求項28
前記生成された量子化係数のセットを出力する手段をさらに具備する請求項27に記載のデバイス。
請求項29
前記生成された量子化係数のセットを受信する手段と、前記生成された量子化係数のセットをビットストリームにエントロピー符号化するために、前記生成された量子化係数のセットに対して前記CABACを行う手段と、前記ビットストリームを出力する手段と、をさらに具備する請求項28に記載のデバイス。
請求項30
前記最後の非ゼロ係数を推定する手段は、前記CABACによって前記ビデオブロックを符号化することに関連するコストを近似する手段を含み、前記近似されたコストのうちの異なるコストは、前記最後の非ゼロ係数である異なる係数に対応し、前記推定された最後の非ゼロ係数は、近似された最低のコストを定義する請求項27記載のデバイス。
請求項31
前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると連続的に見なすことによって前記近似されたコストのうちの前記異なるコストを連続的に定義する手段をさらに具備する請求項30に記載のデバイス。
請求項32
前記ビデオブロックの前記係数の各々を前記最後の非ゼロ係数であると見なすとき、連続的に累積コストを上下に調整することによって前記近似されたコストのうちの前記異なるコストを定義する手段をさらに具備する請求項31に記載のデバイス。
請求項33
前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという前記仮定に基づいて前記ビデオブロックの量子化係数の前記セットを生成する手段は、0、フロア値およびシーリング値に等しい値を有する、前記ビデオブロックの量子化係数の前記セット中の可能な非ゼロ量子化係数の各々に関連するラグランジュコストを計算する手段を含む請求項27に記載のデバイス。
請求項34
前記フロア値は前記ビデオブロックの前記係数の個々の係数の絶対値と量子化パラメータと量子化行列とに基づいており、前記シーリング値は前記フロア値+1からなる請求項33に記載のデバイス。
請求項35
コンテキストベース適応2進算術符号化(CABAC)をサポートするビデオ符号化プロセスのためのビデオブロックの係数を量子化するように構成されたデバイスであって、前記デバイスは、量子化ユニットとCABACユニットとを含む符号化ユニットと、送信機とを具備し、前記量子化ユニットは、前記ビデオブロックの最後の非ゼロ係数を推定し、前記推定された最後の非ゼロ係数が実際は前記ビデオブロックの前記最後の非ゼロ係数であるという仮定に基づいて前記ビデオブロックの量子化係数のセットを生成し、前記生成された量子化係数のセットを出力し、前記CABACユニットは、前記生成された量子化係数のセットを受信し、前記生成された量子化係数のセットをビットストリームにエントロピー符号化するために、前記生成された量子化係数のセットに対して前記CABACを実行し、前記ビットストリームを出力し、前記送信機は、前記ビットストリームを送信するデバイス。
請求項36
無線通信デバイスを具備する請求項35に記載のデバイス。
請求項37
前記送信機が前記ビットストリームを送信するより前に前記ビットストリームを変調する変調器を具備する請求項36に記載のデバイス。
类似技术:
公开号 | 公开日 | 专利标题
US10462494B2|2019-10-29|Video encoding method for encoding division block, video decoding method for decoding division block, and recording medium for implementing the same
US10390044B2|2019-08-20|Signaling selected directional transform for video coding
JP6199462B2|2017-09-20|ハイブリッドなビデオ符号化における予測誤差の適応符号化
JP6193432B2|2017-09-06|Video coding using large macro blocks
JP6271477B2|2018-01-31|変換係数の関数ベース走査順序を使用するビデオ符号化
JP6193446B2|2017-09-06|ビデオコード化における係数の走査
JP6141355B2|2017-06-07|ビデオコード化における量子化
JP5944423B2|2016-07-05|大型マクロ・ブロックを用いたビデオ・コーディング
KR101752989B1|2017-07-03|인트라 예측을 위한 모드 결정 단순화
JP2017123665A|2017-07-13|イントラ予測を使用したビデオ符号化
JP5575940B2|2014-08-20|Adaptive coding of video block prediction modes
JP5922244B2|2016-05-24|ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
DK2727353T3|2015-10-19|Video Coding using adaptive bevægelsesvektoropløsning
RU2562381C1|2015-09-10|Кодирование коэффициентов преобразования для видеокодирования
KR101918318B1|2018-11-13|모션 예측 비디오 블록들의 계층구조
US9648334B2|2017-05-09|Bi-predictive merge mode based on uni-predictive neighbors in video coding
US10327008B2|2019-06-18|Adaptive motion vector resolution signaling for video coding
US9712816B2|2017-07-18|Inter-layer prediction between layers of different dynamic sample value range
JP5886308B2|2016-03-16|ビデオコーディングにおける並列コンテキスト計算
JP5628438B2|2014-11-19|ビデオコーディングのための変換係数の適応走査
KR101552027B1|2015-09-09|비디오 코딩 시 비디오 블록의 마지막 유효 계수의 포지션의 별도 코딩
RU2546590C2|2015-04-10|Сигнализация изменений параметра квантования для кодируемых единиц при высокоэффективном видеокодировании|
US9049444B2|2015-06-02|Mode dependent scanning of coefficients of a block of video data
CN106170092B|2020-02-14|用于无损编码的快速编码方法
KR101387255B1|2014-04-21|비디오 코딩을 위한 적응적 모션 분해능
同族专利:
公开号 | 公开日
CA2713143A1|2009-08-27|
KR101187238B1|2012-10-02|
RU2010138802A|2012-03-27|
CN101946515B|2014-07-16|
RU2483468C2|2013-05-27|
KR20100110896A|2010-10-13|
JP5139542B2|2013-02-06|
TWI492634B|2015-07-11|
US9008171B2|2015-04-14|
US20090175331A1|2009-07-09|
CA2713143C|2014-04-15|
TW200952493A|2009-12-16|
EP2258112A1|2010-12-08|
BRPI0907944A2|2015-07-28|
WO2009105726A1|2009-08-27|
CN101946515A|2011-01-12|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
WO2007038248A2|2005-09-22|2007-04-05|Qualcomm Incorporated|Two pass rate control techniques for video coding using a min-max approach|JP2015050608A|2013-08-30|2015-03-16|富士通株式会社|量子化装置、量子化方法および量子化プログラム|
JP2016134860A|2015-01-21|2016-07-25|富士通株式会社|動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム|JP2503706B2|1990-01-19|1996-06-05|三菱電機株式会社|変換符号化方式|
CA2118880A1|1994-03-11|1995-09-12|Kannan Ramchandran|Jpeg/mpeg decoder-compatible optimized thresholding for image and video signal compression|
JPH10502791A|1995-04-25|1998-03-10|フィリップスエレクトロニクスネムローゼフェンノートシャップ|映画像符号化装置および方法|
TW455821B|1999-09-03|2001-09-21|Ind Tech Res Inst|Signal process method and device|
EP3540946A1|2002-04-26|2019-09-18|NTT DoCoMo, Inc.|Signal decoding method|
JP4037839B2|2004-03-11|2008-01-23|株式会社東芝|画像符号化方法及び装置|
JP4188878B2|2004-06-07|2008-12-03|日本電信電話株式会社|動画像符号化方法,動画像符号化装置,動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体|
WO2006005182A1|2004-07-14|2006-01-19|Slipstream Data Inc.|Method, system and computer program product for optimization of data compression|
KR100612015B1|2004-07-22|2006-08-11|삼성전자주식회사|컨텍스트 적응형 이진 산술 부호화 방법 및 그 장치|
JP4281667B2|2004-10-25|2009-06-17|株式会社日立製作所|画像符号化装置|
US20060098733A1|2004-11-08|2006-05-11|Kabushiki Kaisha Toshiba|Variable-length coding device and method of the same|
JP2006157881A|2004-11-08|2006-06-15|Toshiba Corp|可変長符号化装置及びその方法|
NO322043B1|2004-12-30|2006-08-07|Tandberg Telecom As|Fremgangsmate for forenklet entropikoding|
RU2336661C2|2005-04-19|2008-10-20|Самсунг Электроникс Ко., Лтд.|Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии|
KR100746007B1|2005-04-19|2007-08-06|삼성전자주식회사|엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더|
DK2950543T3|2006-01-09|2017-11-27|Matthias Narroschke|Adaptiv kodning af prædiktionsfejlen i hybrid-videokodning|
KR20070077059A|2006-01-19|2007-07-25|삼성전자주식회사|엔트로피 부호화/복호화 방법 및 장치|
US8401082B2|2006-03-27|2013-03-19|Qualcomm Incorporated|Methods and systems for refinement coefficient coding in video compression|
US8582663B2|2006-08-08|2013-11-12|Core Wireless Licensing S.A.R.L.|Method, device, and system for multiplexing of video streams|
CN101663895B|2007-05-04|2013-05-01|高通股份有限公司|使用所估计译码成本的视频译码模式选择|
US7957600B2|2007-05-08|2011-06-07|Arris Group, Inc.|Methods and systems for rate-distortion optimized quantization of transform blocks in block transform video coding|
US8891615B2|2008-01-08|2014-11-18|Qualcomm Incorporated|Quantization based on rate-distortion modeling for CABAC coders|KR101432777B1|2009-09-03|2014-08-22|에스케이텔레콤 주식회사|참조 이미지 기반 2차 예측을 통한 동영상 부호화 방법, 장치 및 기록 매체|
US20110125987A1|2009-11-20|2011-05-26|Qualcomm Incorporated|Dedicated Arithmetic Decoding Instruction|
JP5423469B2|2010-02-23|2014-02-19|沖電気工業株式会社|量子化装置、プログラム及び方法、並びに、動画像符号化装置|
ES2692195T3|2010-04-13|2018-11-30|Ge Video Compression, Llc|Coding of significant maps and blocks of transform coefficients|
US20120207400A1|2011-02-10|2012-08-16|Hisao Sasai|Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus|
FR2972588A1|2011-03-07|2012-09-14|France Telecom|METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS|
US10499059B2|2011-03-08|2019-12-03|Velos Media, Llc|Coding of transform coefficients for video coding|
US9106913B2|2011-03-08|2015-08-11|Qualcomm Incorporated|Coding of transform coefficients for video coding|
US9379736B2|2011-06-03|2016-06-28|Qualcomm Incorporated|Context-adaptive coding video data|
US9112526B2|2011-06-15|2015-08-18|Sony Corporation|Binarization of DQP using separate absolute value and signin CABAC|
FR2977111A1|2011-06-24|2012-12-28|France Telecom|METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS|
AU2012277174B2|2011-06-28|2015-10-29|Nec Corporation|Method for coding video quantization parameter and method for decoding video quantization parameter|
EP3306939B1|2011-06-28|2020-08-05|Samsung Electronics Co., Ltd.|Method and apparatus for video encoding, corresponding method for video decoding, video accompanied with arithmetic decoding and two dimensional last significant coefficient signaling|
US9491469B2|2011-06-28|2016-11-08|Qualcomm Incorporated|Coding of last significant transform coefficient|
US9392301B2|2011-07-01|2016-07-12|Qualcomm Incorporated|Context adaptive entropy coding for non-square blocks in video coding|
AP201609466A0|2011-07-15|2016-09-30|||
CA2807468C|2011-07-18|2019-02-26|Panasonic Corporation|Image coding and decoding multiple intra prediction modes coded with context-dependent portions using variable and fixed probabilities|
US20130034150A1|2011-08-05|2013-02-07|Texas Instruments Incorporated|Systems and methods for multimedia data encoding and decoding|
IN2014CN02456A|2011-09-29|2015-06-19|Sharp Kk||
WO2013047805A1|2011-09-29|2013-04-04|シャープ株式会社|画像復号装置、画像復号方法および画像符号化装置|
KR20130049522A|2011-11-04|2013-05-14|오수미|인트라 예측 블록 생성 방법|
US10390046B2|2011-11-07|2019-08-20|Qualcomm Incorporated|Coding significant coefficient information in transform skip mode|
US9154792B2|2011-11-08|2015-10-06|Qualcomm Incorporated|Progressive coding of position of last significant coefficient|
US9087260B1|2012-01-03|2015-07-21|Google Inc.|Hierarchical randomized quantization of multi-dimensional features|
US9621894B2|2012-01-13|2017-04-11|Qualcomm Incorporated|Determining contexts for coding transform coefficient data in video coding|
FR2985879A1|2012-01-17|2013-07-19|France Brevets|Procede de quantification dynamique pour le codage de flux de donnees|
US9008189B2|2012-01-20|2015-04-14|Blackberry Limited|Methods and devices for context modeling to enable modular processing|
US9584812B2|2012-01-20|2017-02-28|Blackberry Limited|Methods and devices for context set selection|
US20130195200A1|2012-01-28|2013-08-01|Research In Motion Limited|Methods and devices for context modeling to enable modular processing|
RU2589382C2|2012-04-15|2016-07-10|Самсунг Электроникс Ко., Лтд.|Способ обновления параметров для энтропийного кодирования и декодирования уровня коэффициентов преобразования, а также устройство энтропийного кодирования и устройство энтропийного декодирования уровня коэффициентов преобразования с его использованием|
KR102166335B1|2013-04-19|2020-10-15|삼성전자주식회사|Sao 파라미터를 시그널링하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치|
US9955163B2|2013-06-17|2018-04-24|Google Llc|Two pass quantization of video data|
US10713698B2|2014-01-27|2020-07-14|Ushur, Inc.|Instant generation and usage of HTTP URL based unique identity for engaging in multi-modal real-time interactions in online marketplaces, social networks and other relevant places|
US10043204B2|2014-02-02|2018-08-07|Henry Thomas Peter|Perpetual communication session: portability/reusability across applications, networks and devices|
RU2568266C1|2014-06-05|2015-11-20|Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации|Способ кодирования и декодирования видеоинформации|
KR20170078670A|2014-11-04|2017-07-07|삼성전자주식회사|이진 산술 부호화/복호화를 위한 확률 갱신 방법 및 이를 이용한 엔트로피 부호화/복호화 장치|
US10097833B2|2014-12-26|2018-10-09|Intel Corporation|Method and system of entropy coding using look-up table based probability updating for video coding|
法律状态:
2012-03-27| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120327 |
2012-04-25| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
2012-07-13| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120712 |
2012-08-22| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
2012-09-22| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120921 |
2012-10-10| TRDD| Decision of grant or rejection written|
2012-10-17| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121016 |
2012-10-18| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 |
2012-11-22| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121115 |
2012-11-22| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2012-11-26| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20151122 Year of fee payment: 3 |
2015-11-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2016-11-08| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-11-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-11-22| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]